/**
 * Copyright (C) 2010 Cloudfarming <info@cloudfarming.nl>
 *
 * Licensed under the Eclipse Public License - v 1.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *         http://www.eclipse.org/legal/epl-v10.html
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

package nl.cloudfarming.client.warmup;

import java.io.File;
import nl.cloudfarming.sensor.model.impl.JPASessionLocator;
import nl.cloudfarming.util.NBPreferencesHolder;
import nl.cloudfarming.util.PreferenceEnum;

/**
 *
 * @author Merijn Zengers
 */
public class CloudfarmingWarmup implements Runnable{

    @Override
    public void run() {
        File file;
        String separtor = File.separator;
        String directory = System.getProperty("user.home");
        StringBuilder sb = new StringBuilder(directory);
        sb.append(separtor);
        sb.append("cloudfarming");

        file = new File(sb.toString());
        if(!file.exists()){
            file.mkdir();
        }
        sb.append(separtor);
        sb.append("modules");
        file = new File(sb.toString());
        if(!file.exists()){
            file.mkdir();
        }
        sb.append(separtor);
        sb.append("sensor");
        file = new File(sb.toString());
        if(!file.exists()){
            file.mkdir();
        }
        NBPreferencesHolder nBPrefferncesHolder = new NBPreferencesHolder();
        nBPrefferncesHolder.saveProperty(CloudfarmingWarmup.class, PreferenceEnum.LOADDIR, sb.toString());
        sb.append(separtor);
        sb.append("archive");
        nBPrefferncesHolder.saveProperty(CloudfarmingWarmup.class, PreferenceEnum.ARCHIVE, sb.toString());


        JPASessionLocator.init();
    }

    //TODO:
    //When a user closes the application and sensor data is being inserted the file will not complete. therefore warmup should check if there are still
    //files in 'loaddir' and start processing them
}
